#include "LinearMath/btQuadWord.h"
#ifdef __cplusplus
extern "C" {
#endif
btQuadWord* bullet_NewbtQuadWord(){
	btQuadWord* wrap_out = new btQuadWord();
	return wrap_out;
}

btQuadWord* bullet_NewbtQuadWord1(double* _x,double* _y,double* _z){
	btScalar const& c_arg__x=(btScalar const&)(*_x);
	btScalar const& c_arg__y=(btScalar const&)(*_y);
	btScalar const& c_arg__z=(btScalar const&)(*_z);
	btQuadWord* wrap_out = new btQuadWord(c_arg__x,c_arg__y,c_arg__z);
	return wrap_out;
}

btQuadWord* bullet_NewbtQuadWord2(double* _x,double* _y,double* _z,double* _w){
	btScalar const& c_arg__x=(btScalar const&)(*_x);
	btScalar const& c_arg__y=(btScalar const&)(*_y);
	btScalar const& c_arg__z=(btScalar const&)(*_z);
	btScalar const& c_arg__w=(btScalar const&)(*_w);
	btQuadWord* wrap_out = new btQuadWord(c_arg__x,c_arg__y,c_arg__z,c_arg__w);
	return wrap_out;
}

double* bullet_btQuadWord_getX(btQuadWord* c_this){
	btScalar const& c_out = c_this->getX();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

double* bullet_btQuadWord_getY(btQuadWord* c_this){
	btScalar const& c_out = c_this->getY();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

double* bullet_btQuadWord_getZ(btQuadWord* c_this){
	btScalar const& c_out = c_this->getZ();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

void bullet_btQuadWord_setMax(btQuadWord* c_this,btQuadWord* other){
	btQuadWord const& c_arg_other=(btQuadWord const&)(*other);
	c_this->setMax(c_arg_other);
}

void bullet_btQuadWord_setMin(btQuadWord* c_this,btQuadWord* other){
	btQuadWord const& c_arg_other=(btQuadWord const&)(*other);
	c_this->setMin(c_arg_other);
}

void bullet_btQuadWord_setValue(btQuadWord* c_this,double* _x,double* _y,double* _z){
	btScalar const& c_arg__x=(btScalar const&)(*_x);
	btScalar const& c_arg__y=(btScalar const&)(*_y);
	btScalar const& c_arg__z=(btScalar const&)(*_z);
	c_this->setValue(c_arg__x,c_arg__y,c_arg__z);
}

void bullet_btQuadWord_setValue1(btQuadWord* c_this,double* _x,double* _y,double* _z,double* _w){
	btScalar const& c_arg__x=(btScalar const&)(*_x);
	btScalar const& c_arg__y=(btScalar const&)(*_y);
	btScalar const& c_arg__z=(btScalar const&)(*_z);
	btScalar const& c_arg__w=(btScalar const&)(*_w);
	c_this->setValue(c_arg__x,c_arg__y,c_arg__z,c_arg__w);
}

void bullet_btQuadWord_setW(btQuadWord* c_this,double _w){
	btScalar c_arg__w=_w;
	c_this->setW(c_arg__w);
}

void bullet_btQuadWord_setX(btQuadWord* c_this,double _x){
	btScalar c_arg__x=_x;
	c_this->setX(c_arg__x);
}

void bullet_btQuadWord_setY(btQuadWord* c_this,double _y){
	btScalar c_arg__y=_y;
	c_this->setY(c_arg__y);
}

void bullet_btQuadWord_setZ(btQuadWord* c_this,double _z){
	btScalar c_arg__z=_z;
	c_this->setZ(c_arg__z);
}

double* bullet_btQuadWord_w(btQuadWord* c_this){
	btScalar const& c_out = c_this->w();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

double* bullet_btQuadWord_x(btQuadWord* c_this){
	btScalar const& c_out = c_this->x();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

double* bullet_btQuadWord_y(btQuadWord* c_this){
	btScalar const& c_out = c_this->y();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

double* bullet_btQuadWord_z(btQuadWord* c_this){
	btScalar const& c_out = c_this->z();
	double* wrap_out = (double*)(&c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
